package com.niiwoo.civet.mobile.vo.response.user;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.Date;
import lombok.Getter;
import lombok.Setter;

/**
 * @Description: 用户身份信息
 * @Author:LiJian
 * @Date:2017/10/12
 */
@Setter
@Getter
@ApiModel(description = "用户身份信息")
public class UserIdentityResponseVO {

    @ApiModelProperty(value = "上一次OCR身份证扫描渠道(0、未开启 1、face++)", notes = "0、未开启 1、face++")
    private Byte lastOCRIdCardChannel;

    @ApiModelProperty(value = "OCR身份证扫描渠道(0、未开启 1、face++)", notes = "0、未开启 1、face++")
    private Byte orcIdCardChannel;

    @ApiModelProperty(value = "OCR银行卡扫描渠道(0、未开启 1、开启)", notes = "0、未开启 1、开启")
    private Byte orcBankCardChannel;

    @ApiModelProperty(value = "二要素认证状态(0、未认证 1、已认证)", notes = "0、未认证 1、已认证", example = "1")
    private Byte twoFactorStatus;

    @ApiModelProperty(value = "OCR状态(0、未完成 1、已完成)", notes = "0、未完成 1、已完成", example = "1")
    private Byte ocrStatus;

    @ApiModelProperty(value = "肖像认证状态(0-未认证  1-需要人工审核  2-认证通过 3-认证不通过 )", notes = "", example = "1")
    private Byte portraitStatus;

    @ApiModelProperty(value = "身份证过期状态(0、未过期 1、快过期 2、已过期)", notes = "0、未过期 1、快过期 2、已过期", example = "1")
    private Byte idCardExpiredStatus;

    @ApiModelProperty(value = "是否禁止身份认证(0、允许 1、禁止)", notes = "0、允许 1、禁止", example = "1")
    private Byte identityAuthForbidStatus;

    @ApiModelProperty(value = "姓名")
    private String name;

    @ApiModelProperty(value = "身份证号")
    private String idCard;

    @ApiModelProperty(value = "性别(1-男 2-女)", notes = "1-男 2-女", required = true)
    private Byte sex;

    @ApiModelProperty(value = "民族", required = true)
    private String nation;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "生日", required = true)
    private Date birthday;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "身份证有效期开始时间", required = true)
    private Date startDate;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "身份证有效期截止时间", required = true)
    private Date endDate;

    @ApiModelProperty(value = "身份证地址编码（前6位）", required = true)
    private String addressCode;

    @ApiModelProperty(value = "身份证地址", required = true)
    private String address;

    @ApiModelProperty(value = "签发机关", required = true)
    private String signingAuthority;

    @ApiModelProperty(value = "身份证正面照url")
    private String frontPhotoUrl;

    @ApiModelProperty(value = "身份证正面照ID")
    private Long frontPhotoId;

    @ApiModelProperty(value = "身份证反面照url")
    private String backPhotoUrl;

    @ApiModelProperty(value = "身份证反面照ID")
    private Long backPhotoId;

    @ApiModelProperty(value = "身份证手持照url")
    private String handPhotoUrl;

    @ApiModelProperty(value = "身份证手持照id")
    private Long handPhotoId;

    @ApiModelProperty(value = "银行卡号(仅开户使用-个人绑卡)")
    private String bankCardNo;

    @ApiModelProperty(value = "手机号码(仅开户使用-个人绑卡)")
    private String bankCardMobileNo;

    @ApiModelProperty(value = "银行编码")
    private String bankCode;
}
